1. Field of the Invention
In general, the present invention relates to a multi-column user interface for managing on-line threaded conversations that are based on collections of objects having both hierarchical and temporal relationships such as threaded chats, discussions, newsgroups, etc. Specifically, the present invention provides an interface for efficiently navigating and contributing with respect to a threaded conversation.
2. Related Art
On-line threaded discussions or conversations (e.g., in electronic mail, news groups, Internet chats, discussion databases, etc.) have gained increasing popularity. In general, threaded conversations allow multiple parties to communicate about and collaborate around any number of topics. A threaded conversation typically comprises numerous discussion streams or branches of messages. Branches are usually created by replying to an existing message. Typically, threaded conversations are visualized in a hierarchical manner. To this extent, existing solutions to navigate about a threaded conversation either use indentation of messages to display the hierarchical structure, or provide thread maps that show the hierarchy in a tree-like visualization (or similar). Users can generally select (i.e., click) on individual items in the map to read or reply to certain messages.
Unfortunately, with the existing technology, there are several major issues. First, the hierarchical visualization makes it difficult to navigate about and read a single conversation branch with its reply structure. For example, if a user reads through the entire reply chain of messages in an indented visualization, he/she could easily get lost, especially if the conversation “forks out.” In addition, it can be extremely difficult to step back through a given conversation. Specifically, if thread maps are used, it is cumbersome to open up all of the messages that belong to one conversation branch. The user cannot simply read through them in the order of posting without interrupting his/her reading. Still yet, the hierarchical visualization currently provided makes it difficult to discover new messages posted to the conversation since they are typically scattered throughout the hierarchy.
Another issue with existing technology occurs with sequential or temporal visualizations, for example in a “chat” view. The “chat” view arranges messages in a strictly temporal sequence. In this technology, it is often difficult to follow the logical sequence of an idea, because the replies related to that idea appear interspersed with other messages on other topics that happen to have occurred at intermediate times between the replies on the topic of interest. As in the previous case, it is again difficult to discover new messages posted on the topic of interest, because they may be interspersed with new messages on other topics. Further, in the “chat” technology, any message that the user wishes to add related to a specific topic must be added at the end of the stream of messages, even if other, unrelated messages have appeared after the last message on the topic of interest. Thus, the user's own new message is subject to the same problems as all of the other messages in the chat (i.e., the message will appear in strict temporal order, and thus may not appear close to the other messages to which it is topically related.)
Still another issue with existing technology is that conversations are assumed to consist of text only, as in an instant message session or chat, or a discussion database. Yet for many concepts another representation means may be more convenient, expressive, or appropriate. For exemplary purposes, financial data may be better communicated in the form of a spreadsheet, and graphical design may be better communicated in the form of an image. Existing technologies that support conversations provide means for constructing a sequence or a hierarchical tree of text objects, and require that non-text objects (for example, but not limited to, spreadsheets, images, links to other documents or websites) be provided as attachments or inclusions in the default text object. This is an inconvenient and limiting default which makes non-text objects more difficult to add, and more difficult to understand, in both sequential message streams or in hierarchical trees.
In view of the foregoing, there exists a need for a user interface for managing an on-line threaded conversation that is not subject to the strictly-topical or strictly-temporal limitations described above. Specifically, a need exists for a user interface that allows users to easily view and navigate about the various branches of a threaded conversation. A further need exists for the interface to provide a conversation map that illustrates a hierarchy of the conversation and aids in navigating the hierarchy. An additional need exists for the user interface to include features such as navigation buttons, a list of participants and a list of related conversations to make managing, navigating, and contributing to the conversation more efficient. Moreover, a need exists for the user interface to not limit components of a conversation to text messages, but allows any type of object (files, links, images, etc.) that can be viewed and worked within the user interface.